{
 "metadata": {
  "name": "",
  "signature": "sha256:f5af7205ad295d5fefddbc358e6f76bf0bace50094490555366833bb2b5d5fe4"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Alamouti STBC\n",
      "=============\n",
      "\n",
      "This notebook illustrates the simulation of an Alamouti MIMO scheme transmission through a flat fading rayleight channel.\n",
      "\n",
      "We simulate the Alamouti STBC with a 16-QAM modulation, as well as BPSK modulation with 1 and two receive antennas.\n",
      "\n",
      "**Note: This notebook uses the parallel capabilities of IPython. Thus you need to start the engines in the cluster pannel before running the code here.**\n",
      "\n",
      "Initializations\n",
      "---------------\n",
      "\n",
      "First we create a IPython parallel client so that we can communicate with the engines."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "%pylab inline\n",
      "from matplotlib import pyplot as plt"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Populating the interactive namespace from numpy and matplotlib\n"
       ]
      }
     ],
     "prompt_number": 44
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "from IPython.parallel import Client\n",
      "cl = Client()\n",
      "cl.clear()  # Erases the workspace of the engines.\n",
      "bview = cl.load_balanced_view()  # Create a load balanced view that we will use later."
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 1
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Then we initialize the pylab inline in each engine.\n",
      "Note that we use the **%px** IPython cell magic to run the code in the cell for each engine."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "%%px\n",
      "%pylab inline\n",
      "from IPython.display import clear_output"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "[stdout:0] Populating the interactive namespace from numpy and matplotlib\n",
        "[stdout:1] Populating the interactive namespace from numpy and matplotlib\n",
        "[stdout:2] Populating the interactive namespace from numpy and matplotlib\n",
        "[stdout:3] Populating the interactive namespace from numpy and matplotlib\n",
        "[stdout:4] Populating the interactive namespace from numpy and matplotlib\n",
        "[stdout:5] Populating the interactive namespace from numpy and matplotlib\n",
        "[stdout:6] Populating the interactive namespace from numpy and matplotlib\n",
        "[stdout:7] Populating the interactive namespace from numpy and matplotlib\n"
       ]
      }
     ],
     "prompt_number": 2
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Similarly, we set the Python path and import some libraries at each engine."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "%%px\n",
      "# xxxxxxxxxx Add the parent folder to the python path. xxxxxxxxxxxxxxxxxxxx\n",
      "import sys\n",
      "import os\n",
      "sys.path.append('../')\n",
      "# xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n",
      "\n",
      "import numpy as np"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 36
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Because there is already an Alamouti simulator implemented in the \"apps\" folder of PyPhysim, we simple import it here and set the desired simulation parameters."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "%%px\n",
      "from pyphysim.comm.modulators import BPSK, QAM\n",
      "from apps.simulate_mimo import AlamoutiSimulationRunner"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 4
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "## Simulation of Alamouti with 16-QAM\n",
      "\n",
      "First we create the SimulationRunner objects at each engine and set the parameters which are common to all engines. \n",
      "\n",
      "Note that the actual simulator is already implemented as an application in PyPhysim and we are only setting the parameters here."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "%%px\n",
      "sim = AlamoutiSimulationRunner(\"mimo_alamouti_config_file.txt\")\n",
      "sim.NSymbs = 300\n",
      "sim.rep_max = 10000\n",
      "sim.params.add('SNR', np.linspace(0, 25, 11))\n",
      "#sim.modulator = QAM(16)\n",
      "#sim.Nr=1\n",
      "sim.update_progress_function_style = None\n",
      "# max_bit_errors is used in the _keep_going method to stop the\n",
      "# simulation earlier if possible. We stop the simulation if the\n",
      "# accumulated number of bit errors becomes greater then 0.1% of the\n",
      "# total number of simulated bits\n",
      "sim.max_bit_errors = sim.rep_max * sim.NSymbs * 0.001\n",
      "sim.clear()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 5
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "We still need to set the **self.modulator** parameter with the desired modulator as well as the **self.Nr** parameter with the desired number of receive antennas. These values will differ at each engine.\n",
      "After that, we can call the simulate method to perform the actual simulation.\n",
      "\n",
      "Lets create a function that sets the modulator and number of receive antennas in the SimulationRunner object, calls its simulate method and then return the object. This is so that we can use the **map** method of a load_balanced_view."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# Note that we run this on the local instance, instead of in the remote engines. That is, we do not use the %%px cell magic here.\n",
      "def set_params_and_simulate(params_list):\n",
      "    \"\"\"params_list must be a list with two elements, the modulator object, and the number of receive antennas.\"\"\"\n",
      "    modulator, Nr = params_list\n",
      "    sim.modulator = modulator\n",
      "    sim.Nr = Nr\n",
      "    \n",
      "    sim.simulate()\n",
      "    return sim"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 6
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Now lets create all the combination of modulator and number of receive antennas."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# xxxxxxxxxx Add the parent folder to the python path. xxxxxxxxxxxxxxxxxxxx\n",
      "import sys\n",
      "import os\n",
      "sys.path.append('../')\n",
      "# xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n",
      "from pyphysim.comm.modulators import BPSK, QAM\n",
      "combinations = [[QAM(16), 1], [QAM(16), 2], [BPSK(), 1], [BPSK(), 2]]"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 7
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Now we can call the map_sync method of the balanced view to perform the simulations in parallel."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "from pyphysim.util.misc import pretty_time\n",
      "from time import time, sleep\n",
      "tic = time()\n",
      "results = bview.map_sync(set_params_and_simulate, combinations)\n",
      "toc = time()\n",
      "\n",
      "print \"Total elapsed time: {0}\".format(pretty_time(toc-tic))"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Total elapsed time: 1m:53s\n"
       ]
      }
     ],
     "prompt_number": 8
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Since we used the map_sync method, then **results** will be a list containing the SimulationRunner objects (since set_params_and_simulate returns the SimulationRunner object)\n",
      "\n",
      "Therefore, lets get the individual SimulationRunner objects."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "sim1, sim2, sim3, sim4 = results\n",
      "print \"Elapsed time sim1: {0}\".format(sim1.elapsed_time)\n",
      "print \"Elapsed time sim2: {0}\".format(sim2.elapsed_time)\n",
      "print \"Elapsed time sim3: {0}\".format(sim3.elapsed_time)\n",
      "print \"Elapsed time sim4: {0}\".format(sim4.elapsed_time)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Elapsed time sim1: 1m:53s\n",
        "Elapsed time sim2: 1m:51s\n",
        "Elapsed time sim3: 1m:29s\n",
        "Elapsed time sim4: 1m:35s\n"
       ]
      }
     ],
     "prompt_number": 9
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "## Plot the results"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "With the SimulationRunner objects we can now get the results for each configuration.\n",
      "\n",
      "Lets get the results for 16-QAM modulation"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "def get_data_to_be_plotted(sim):\n",
      "    SNR = sim.params['SNR']\n",
      "    ber = np.array([r.get_result() for r in sim.results['ber']])\n",
      "    ser = np.array([r.get_result() for r in sim.results['ser']])\n",
      "    return SNR, ber, ser\n",
      "\n",
      "SNR, ber1, ser1 = get_data_to_be_plotted(sim1)\n",
      "SNR, ber2, ser2 = get_data_to_be_plotted(sim2)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 31
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "and now the results for BPSK modulation"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "SNR, ber3, ser3 = get_data_to_be_plotted(sim3)\n",
      "SNR, ber4, ser4 = get_data_to_be_plotted(sim4)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 33
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Now we have what we need to plot everything."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "from matplotlib import pyplot as plt\n",
      "\n",
      "fig, ax = plt.subplots(1, 2, figsize=(16,5))\n",
      "ax1, ax2 = ax\n",
      "\n",
      "# Plot the 16-QAM results\n",
      "ax1.semilogy(SNR, ber1, '-k*', label='NTx=2, NRx=1')\n",
      "ax1.semilogy(SNR, ber2, '-m*', label='NTx=2, NRx=2')\n",
      "ax1.set_title('BER for {0} modulation with Alamouti (Rayleight channel)'.format(sim1.modulator.name))\n",
      "ax1.set_xlabel('SNR')\n",
      "ax1.set_ylabel('Error')\n",
      "ax1.legend()\n",
      "ax1.grid()\n",
      "# Plot the BPSK results\n",
      "ax2.semilogy(SNR, ber3, '-k*', label='NTx=2, NRx=1')\n",
      "ax2.semilogy(SNR, ber4, '-m*', label='NTx=2, NRx=2')\n",
      "ax2.set_title('BER for {0} modulation with Alamouti (Rayleight channel)'.format(sim3.modulator.name))\n",
      "ax2.set_xlabel('SNR')\n",
      "ax2.set_ylabel('Error')\n",
      "ax2.legend()\n",
      "ax2.grid()\n",
      "\n",
      "plt.show()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nZuNUm0VERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERETE\nlw0FvsexBtr/gHAci1XH/eN1x9L/7w0c4u+1v34DJmV/mCIiIj5DtVlERCSTqgOrrtuuDWwEYoHj\nQPfr9l0tnL2Akdc9b8OxoHV49oUpIiLiM1SbRSzkZ3UAIpJlfwFlgL5ASWATcF/6vihgePrz17Ol\n/7vqLqAAcDpbIxUREfENqs0iFlKjVsTzHAEeARoBq4EdQNvr9r0JfHqT9z2Go0vULmAZ8DawL5tj\nFRER8QWqzSIiIllQASh/3XY48CfwNdA8/bkvgWfIOG7nahenEGAn6t4kIiJiFtVmEQvpTq2I56kF\nfAgEpG/vAU4BqfzdjekZYBCQ77r3Xd13EHgWR3HNnc2xioiI+ALVZhELqVEr4nkWAD8Cv+KYUGIJ\njiL5F2BPf81J4CX+Loz26/YBLMfRzSk6+8MVERHxeqrNIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi\nIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIr7m/wER6U4m+hKO+wAA\nAABJRU5ErkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0x6a25590>"
       ]
      }
     ],
     "prompt_number": 48
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "--------------------------------"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#%qtconsole"
     ],
     "language": "python",
     "metadata": {},
     "outputs": []
    }
   ],
   "metadata": {}
  }
 ]
}